package com.ansion.commonchat.startup.workmanager.bwork.utils.taskexecutor;

import com.ansion.commonchat.startup.workmanager.bwork.utils.BSerialExecutor;

import java.util.concurrent.Executor;


/**
 * Created by wanghongjie on 2023/5/10
 * Describe : TaskExecutor 是一个用于执行任务的接口，提供了统一的任务执行方式，并可以根据具体需求进行适配和替换。
 * <p>
 * 它可以封装底层的线程管理和调度逻辑，使任务的执行与具体的线程实现解耦，从而方便在不同的场景中使用.
 */
public interface BTaskExecutor {

    void postToMainThread(Runnable runnable);

    Executor getMainThreadExecutor();

    void executeOnBackgroundThread(Runnable runnable);

    BSerialExecutor getBackgroundExecutor();
}